--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Node / ReticulumProjects / MeshChatX.git / files / vendor / lxmfy / tests / test_hypothesis_middleware.py
Displaying Raw • Download
vendor/lxmfy/tests/test_hypothesis_middleware.py dev (8f381c86) Text, 1.17 KB
Tff7b72from T7ee787hypothesis Tff7b72import Te6edf3given
Tff7b72from T7ee787hypothesis Tff7b72import Te6edf3strategies Tff7b72as Te6edf3st
Tff7b72from T7ee787lxmfyT7ee787.T7ee787middleware Tff7b72import Te6edf3MessageTracker
Tff7b72class T56d364TestMiddlewarePropertyBasedTb4b4b4:
T8b949e"""Property-based tests for middleware utilities."""
Tf0883e@givenTb4b4b4(
Te6edf3hashesTff7b72=Te6edf3stTff7b72.Td2a8fflistsTb4b4b4(Te6edf3stTff7b72.Td2a8fftextTb4b4b4(Te6edf3min_sizeTff7b72=T79c0ff1Tb4b4b4)Tb4b4b4, Te6edf3min_sizeTff7b72=T79c0ff1Tb4b4b4, Te6edf3max_sizeTff7b72=T79c0ff200Tb4b4b4)Tb4b4b4,
Te6edf3max_sizeTff7b72=Te6edf3stTff7b72.Td2a8ffintegersTb4b4b4(Te6edf3min_valueTff7b72=T79c0ff10Tb4b4b4, Te6edf3max_valueTff7b72=T79c0ff50Tb4b4b4)Tb4b4b4,
Tb4b4b4)
Tff7b72def Td2a8fftest_message_tracker_pruningTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3hashesTb4b4b4, Te6edf3max_sizeTb4b4b4)Tb4b4b4:
T8b949e"""Test that MessageTracker correctly prunes old hashes and tracks new ones."""
Te6edf3tracker Tff7b72= Te6edf3MessageTrackerTb4b4b4(Te6edf3max_sizeTff7b72=Te6edf3max_sizeTb4b4b4)
Tff7b72for Te6edf3h Tff7b72in Te6edf3hashesTb4b4b4:
Te6edf3trackerTff7b72.Td2a8ffis_processedTb4b4b4(Te6edf3hTb4b4b4)
Tff7b72assert Tffa657lenTb4b4b4(Te6edf3trackerTff7b72.Td2a8ffprocessed_setTb4b4b4) Tff7b72<Tff7b72= Te6edf3max_size
T8b949e# Last added items should generally be in the set
Te6edf3last_item Tff7b72= Te6edf3hashesTb4b4b4[Tff7b72-T79c0ff1Tb4b4b4]
Tff7b72assert Te6edf3last_item Tff7b72in Te6edf3trackerTff7b72.Td2a8ffprocessed_set
Tf0883e@givenTb4b4b4(Te6edf3hTff7b72=Te6edf3stTff7b72.Td2a8fftextTb4b4b4(Te6edf3min_sizeTff7b72=T79c0ff1Tb4b4b4)Tb4b4b4)
Tff7b72def Td2a8fftest_message_tracker_idempotenceTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3hTb4b4b4)Tb4b4b4:
T8b949e"""Test that the first call returns False and subsequent calls return True."""
Te6edf3tracker Tff7b72= Te6edf3MessageTrackerTb4b4b4(Tb4b4b4)
Tff7b72assert Te6edf3trackerTff7b72.Td2a8ffis_processedTb4b4b4(Te6edf3hTb4b4b4) Tff7b72is Tff7b72False
Tff7b72assert Te6edf3trackerTff7b72.Td2a8ffis_processedTb4b4b4(Te6edf3hTb4b4b4) Tff7b72is Tff7b72True
Tff7b72assert Te6edf3trackerTff7b72.Td2a8ffis_processedTb4b4b4(Te6edf3hTb4b4b4) Tff7b72is Tff7b72True
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────